home *** CD-ROM | disk | FTP | other *** search
/ Aminet 19 / Aminet 19 (1997)(GTI - Schatztruhe)[!][Jun 1997].iso / Aminet / misc / sci / log_lib.lha / ChipMunk / log / README
Text File  |  1996-05-18  |  18KB  |  438 lines

  1.  
  2.  
  3. This is log, a schematic editor, analog and digital simulator, and
  4. netlist generator.  Log was written by Dave Gillespie; the analog
  5. simulation capability was added by John Lazzaro.  Log is maintained
  6. under Unix by Dave Gillespie and John Lazzaro.  Log is distributed
  7. under the GNU General Public License; see file COPYING in this
  8. directory for more information.
  9.  
  10. If you have a web browser, the best way to learn about what
  11. Log is and how to install it is to pick up the latest version of the 
  12. webdoc Web pages (webdocX.XX.tar.gz, where X.XX is a version number) from
  13. the same place you picked up this file. Once you have this Web tree
  14. untarred, point your Web browser (examples of Web browsers include
  15. Mosaic, Lynx, Netscape, and tkWWW) to webdoc/index.html for the home
  16. page of the Chipmunk tools, and to webdoc/compile/compile.html for
  17. compilation instructions.
  18.  
  19. The rest of this file is written assuming that you don't have access
  20. to a Web browser -- all text is copied from webdoc pages
  21. verbatim. I'll do my best to keep this file up to date, but the Web
  22. tree is now the primary documentation for all aspects of the Chipmunk
  23. system.
  24.  
  25. ---------
  26.  
  27. The Log System 
  28. --------------
  29.  
  30.  
  31. Log is a circuit schematic capture tool and simulation environment,
  32. written by Dave Gillespie. Highlights of the Log system include: 
  33.  
  34. Schematic capture 
  35.    Log supports schematic entry for documentation, simulation,
  36.    and netlist creation. Schematic printouts can be previewed
  37.    on-screen, and encapsulated Postscript and HPGL output file
  38.    formats are supported. In addition, the input file format for the
  39.    Chipmunk graphics editor Until is supported. 
  40. Netlist generation 
  41.    Log can generate SPICE netlists for circuit schematics; Log can
  42.    also generate NTK format netlists, also generated by the
  43.    Chipmunk VLSI layout tool Wol . Log supports hierarchial
  44.    netlist generation. Using Log, Wol, and Netcmp (a netlist
  45.    comparison tool included in the Chipmunk supplementary 
  46.    toolkit), 50,000 transistor IC designs have been verified for
  47.    layout-vs-schematic netlist equality. Alternatively, IC
  48.    designers can use Log to generate SPICE schematics, to support
  49.    netlist verification of layout generated with Magic; Gemini is
  50.    often used as the netlist comparison tool in this situation. 
  51.    Freely redistributable tools are now available for generating Xilinx
  52.    XNF format netlists from Log netlist outputs. 
  53. Simulation data visualization 
  54.    Log includes a simulator-independent service for graphically
  55.    viewing and measuring simulation data, supporting an arbitrary
  56.    number of traces. The service generates output data suitable for
  57.    input to the commercial tool MATLAB, and to the Chipmunk
  58.    data plotting tool View . In addition, a simple plotting tool is
  59.    integrated into the data visualization system, supporting
  60.    Postscript and HPGL formats, and the file format for the
  61.    Chipmunk graphics editor Until . 
  62. Analog circuit simulation 
  63.    Log includes a full-featured analog circuit simulation package, 
  64.    Analog, written by John Lazzaro. Circuit schematic editing and
  65.    parameter adjustments can occur while the simulator is in
  66.    operation, supporting the metaphor of a virtual lab workbench.
  67.    Model components include MOS transistor models optimized
  68.    for accurate simulation in the weak-inversion regime, and
  69.    macromodels of several of the circuits featured in Carver
  70.    Mead's book Analog VLSI and Neural Systems. Circuits of 64
  71.    nodes or less can be reasonably simulated in analog; hierarchial
  72.    simulation is not presently supported. 
  73. Digital circuit simulation 
  74.    Log includes a unit-time-delay digital circuit simulation
  75.    package, Diglog, written by Dave Gillespie. Circuit schematic
  76.    editing and parameter adjustments can occur while the
  77.    simulator is in operation, supporting the metaphor of a virtual
  78.    lab workbench. Circuit libraries include many 7400-series TTL
  79.    parts, and hard macros for early Actel FPGAs. Hierarchial
  80.    simulation is supported. 
  81. Custom gate creation 
  82.    The log package includes a standalone gate editor, Loged, for
  83.    creating custom gate icons. The simulation code for simple
  84.    digital gates can be embedded during gate description using
  85.    loged; complex digital gates and simulation code for analog
  86.    circuits requires separate C code. Loged can also generate
  87.    data-sheets showing gate symbols and attributed, the the
  88.    Postscript format. 
  89.  
  90. Log is the most popular Chipmunk tool, and has founded many uses in
  91. academia and industry. Log can serve as a cost-free alternative to
  92. commercial tools like ViewLogic, for users with simple needs.
  93. Integrated circuit designers use it as an inexpensive tools for netlist
  94. creation; educators use it for introductory digital logic courses;
  95. weak-inversion MOS circuit designs use it to simulate small circuits. 
  96.  
  97. Platforms and Requirements 
  98. --------------------------
  99.  
  100. The Chipmunk tools require an ANSI c compiler (typically GCC) and
  101. X11 (R4, R5, or R6). Color displays with 8 bits per pixel work best for
  102. Chipmunk (other than 8bpp can be problematic), although Log supports
  103. black-and-white displays. An HTML browser (like Mosaic or Lynx or
  104. Netscape) is also necessary to access the Chipmunk documentation.
  105.  
  106. These are the currently supported platforms, with details of
  107. platform-specific requirements: 
  108.  
  109.    Apple Macintosh, AU/X. 
  110.    Apple Macintosh, MachTen
  111.    DEC MIPS-based DECstations 
  112.    HP Series 300/400, HPUX. 
  113.    HP Series 700, HPUX. The HP-supplied cc, with extra-cost
  114.    ANSI option, will also compile Chipmunk. 
  115.    IBM PC and Compatibles, FreeBSD. 
  116.    IBM PC and Compatibles, Linux, Slackware. 
  117.    IBM RS/6000. The IBM xlc compiler is known to compile
  118.    Chipmunk; gcc has not been tested. 
  119.    SGI, Irix 5.2/5.3, gcc or cc.. 
  120.    Sun SPARC, Solaris 1.X (SunOS 4.X). 
  121.    Sun SPARC, Solaris 2.X (SunOS 5.X). 
  122.    IBM PC and Compatibles, OS/2. 
  123.  
  124.      OS/2 Requirements 
  125.  
  126.      Only the Log system (diglog, analog and loged) is ported. Here are the
  127.      requirements for Log:
  128.  
  129.      WARP Connect.
  130.  
  131.      The PMX server (The X Window System for OS/2) About $140 US, availible
  132.      from Indelible Blue, 800-776-8284.
  133.  
  134.      The icc compiler, and nmake. Not known if gcc will work also, please
  135.      let me know if you try gcc. 
  136.  
  137. If your configuration is different than the ones described above, only
  138. take the package if you feel confident in your C/Unix abilities to do
  139. the porting required. If you do successfully port to a new
  140. architecture or OS, send us the changes required, and we will
  141. incorporate your port in the next release of the chipmunk tools.
  142.  
  143. Here is the know status of Chipmunk on popular platforms not currently
  144. supported
  145.  
  146.    IBM PC-Compatibles, MS-DOS or Windows. . Luigi Rizzo's group at the
  147.    Universita' di Pisa, Italy, has been working on an MS-DOS port of
  148.    analog. It will use djgpp and xlibemu to provide an interface similar
  149.    to a virtual window manager under X with Motif-like widgets. See his
  150.    home page for current status; there may be an early-alpha version of a
  151.    binary available for evaluation (see Materiale didattico section).
  152.    http://www.iet.unipi.it/~luigi/
  153.   
  154.    IBM PC-Compatibles, NextStep. No ports are in progress, to
  155.    my knowledge. 
  156.  
  157.    Apple Macintosh, MacOS. No ports are in progress, to my
  158.    knowledge. 
  159.  
  160.    DEC Alpha, OSF/1 or VMS. Several Alpha ports have failed,
  161.    because of 64-bit compatibility problems with binary file I/O. I
  162.    don't think the port is impossible, just more difficult than the
  163.    successful ports listed above. 
  164.  
  165.  
  166. To get log running, first bring over a copy of psys-Y.YY.tar.Z (where
  167. Y.YY is a version number), available at the same place this file was
  168. found. Untar and make psys per instructions in the package.  After
  169. psys is installed, you can start to install log.
  170.  
  171.  
  172. INSTALLING LOG VERSION 5.30 
  173. ---------- --- -------
  174.  
  175. Compiling Log 
  176. -------------
  177.  
  178. This document assumes that you have successfully compiled the Psys 
  179. libraries. This document also assumes that you have uncompressed and
  180. untarred the Log file, and installed it in the chipmunk directory. 
  181.  
  182. Begin by descending to the log/src directory. At this point OS/2
  183. users only should execute the following commands. 
  184.       ----
  185.  
  186. cp Makefile.os2 Makefile 
  187.  
  188. cp ana/Makefile.os2 ana/Makefile 
  189.  
  190. All users should now edit the files Makefile and ana/Makefile,
  191. and make any necessary changes. Comments in the Makefile will guide
  192. you through these changes; the changes are labeled with the markers
  193. (1), (2), (3), ect. 
  194.  
  195. Once these edits are made, check to see if your platform is listed
  196. below. If it is, execute the command under the platform name in the 
  197. log/src directory. 
  198.  
  199. Apple Macintosh, AU/X 
  200.    cp munch.coff munch 
  201. HP Series 700, HPUX 
  202.    cp munch.hp800 munch 
  203. IBM RS/6000 
  204.    cp munch.rs6000 munch 
  205. Sun SPARC, Solaris 2.X (SunOS 5.X) 
  206.    cp munch.solaris2 munch 
  207.  
  208. Once these changes are made, execute the command 
  209.  
  210. make install 
  211.  
  212. If things are working correctly, a long series of compilations,
  213. linkings, and file movements should occur without error. This will
  214. create the programs chipmunk/bin/diglog, chipmunk/bin/analog, and
  215. chipmunk/bin/loged. To check basic functionality, try to run these
  216. three programs. For each program, two windows should appear on program
  217. launch, one called newcrt and one called mylib. Type :exit in the
  218. newcrt window to leave analog and diglog. Type exit in the newcrt to
  219. leave loged. See the user documentation for information on using these
  220. tools.
  221.  
  222. Problems and Solutions 
  223. ----------------------
  224.  
  225. Its quite possible that compilation did not proceed smoothly, or that
  226. execution problems happen while using the tool. Here are some
  227. possible ways that things could have went wrong, along with
  228. suggestions. 
  229.  
  230. Log comes up in monochrome -- too few colors available 
  231.  
  232.    This symptom could indicate several conditions. If you display
  233.    hardware has less that 4 bits per pixel, Log can't use the small
  234.    number of colors available effectively, and reverts to monochrome
  235.    display. If your display has greater than 4 bits per pixel, perhaps a
  236.    color-hungry program (like Netscape) is monopolizing the colormap. To
  237.    test this hypothesis, exit Netscape then restart Log. See the Netscape
  238.    FAQs for information on improving the color-allocation manners of the
  239.    program.
  240.  
  241. Log comes up in monochrome -- too many colors available 
  242.      
  243.    Log presently can't allocate colormaps correctly for displays in "24
  244.    bits per pixel" mode; instead, it reverts to monochrome display. A
  245.    solution for Linux systems: it may be possible to switch the display
  246.    driver to "8 bits per pixel" mode, in which case Log runs
  247.    correctly. For those interested in improving Log's behavior for 24-bit
  248.    displays, the function DisplayInitialize in the file src/mylib.c in
  249.    the psys package is a good starting point. 
  250.  
  251. File system problems 
  252.    The symptom is that Log runs fine for a few days (weeks,
  253.    months), but one day it stops working. Another symptom is that
  254.    Log runs on the machine it was compiled on, but not on other
  255.    machines in a NFS cluster. The cause of these problems often
  256.    traces to Log noting where its absolute location is during
  257.    compile time, using pwd commands in its Makefiles. If your
  258.    disk is reorganized, Log will be confused, and recompilation
  259.    (Psys and Log) will be necessary. Also, if your system uses the
  260.    NFS automounter, the results of the pwd command may not be
  261.    correct for every machine on your cluster, or may change with
  262.    time. In this case, replacing the pwd commands in the log
  263.    Makefiles with hard-coded paths, or with the environment
  264.    variable PWD, is a good idea. 
  265.  
  266. log.c won't compile 
  267.    This file breaks many compilers because of its length, in many
  268.    different ways. Possible solutions include compiling with or
  269.    without optimization on, and directing the compiler to place
  270.    temporary files in a disk partition with more free space. 
  271.  
  272. Print spooling is broken 
  273.    Pressing File in the Log preview screens should send a
  274.    Postscript file to a local printer, by writing a file to /tmp, and
  275.    printing the file using lpr. This may be incorrect for your
  276.    system. If so, change line 2868 (Unix) or 2865 (OS/2) of the file
  277.    log/src/lplot.c to conform to your environment. 
  278.  
  279. If these suggestions don't help you compile Log, I'd be happy to offer
  280. suggestions.Send email to lazzaro@cs.berkeley.edu and include the
  281. following information.
  282.  
  283.    Complete machine configuration, including machine type, OS
  284.    revision, compilers, and X servers. 
  285.  
  286.    A listing of the output from the failed compilation process, or
  287.    any messages printed by a Chipmunk program or the OS or X
  288.    when an error occurs.
  289.  
  290.    Details of any changes you have made to the distribution before
  291.    this compilation. 
  292.  
  293.    The effects of following any advice given in the compilation
  294.    instructions. 
  295.  
  296.                 USING LOG
  297.                             ---------
  298.  
  299. All of the documentation for using Log is included in the webdoc
  300. package. See:
  301.  
  302. webdoc/document/log/index.html
  303.  
  304. ----
  305.  
  306. If using the Webdoc documention isn't practical, most of the contents
  307. of the Webdoc log pages are contained in the following files in 
  308. log/lib/*
  309.  
  310. log.doc: The log reference manual. This is also the document that pops
  311. up when you press HELP in log. Eventually, I'll replace this HELP action
  312. with running a web browser, in a later release.
  313.  
  314. analog-man.ps: Michael Godfrey converted parts of the Log manual into
  315. a guide for analog simulation users, in Postscript
  316.  
  317. model.ps: Michael Godfrey also wrote an excellent paper describing
  318. the MOS models used in analog, also in Postscript. 
  319.  
  320. lesson*.lgf: A series of 5 annotated circuit schematics,
  321. log/lib/lesson1.lgf through log/lib/lesson5.lgf, form an interactive
  322. way to learn about Analog by using Analog. Developed by Dave Gillespie. 
  323.  
  324. cheat.text: A set of 28 tips for the novice Analog user. Most ways
  325. novices get stuck while learning Analog are in this guide, written by
  326. Dave Gillespie. 
  327.  
  328. analog-tr.ps: For information on how the simulation engine in analog
  329. works, see this Postscript document by John Lazzaro -- note the
  330. transistor models described in this document are no longer used in
  331. analog. The models described are the obsolete NFET4 and PFET4 gates,
  332. included in analog only for backwards compatibility.
  333.  
  334. New Features
  335. ------------
  336.  
  337.     Aside from the new supported machines, there were many little
  338. fixes and additions to Log. Here is a partial list:
  339.  
  340. [May 1996]
  341.  
  342.      Diglog schematic corruption bugfix. A
  343.      major bug that caused Diglog to
  344.      occasionally core dump on large
  345.      hierarchial circuits has been fixed; Diglog
  346.      is safer to use for larger projects. [Ingo
  347.      Cyliax (U. Indiana), Lars Larsson
  348.      (Hamburg U.), Dave Gillespie] 
  349.  
  350.      Lower load-averages for Log. Log no
  351.      longer runs a unity load average
  352.      indiscriminantly. If simulation is turned
  353.      off, an analog circuit is "incomplete," or a
  354.      diglog circuit is the null schematic, Log
  355.      will consume few cycles if the user isn't
  356.      interacting with the program. [Nick
  357.      Bailey (U. Leeds, UK), Dave Gillespie] 
  358.  
  359.      Analog gate improvements. Bugs in
  360.      the NPN1 and PNP1 bipolar transistors
  361.      were found and fixed [Jamie Honan,
  362.      Australia] as were bugs in the Diode gate
  363.      [Shudi Gu, Beijing]. 
  364.  
  365.      XNF file support. New tools for
  366.      supporting Xilinx designs [Ingo Cyliax (U.
  367.      Indiana)]. 
  368.  
  369.      Log display support. When launched on
  370.      a machine with inadequate or
  371.      unsupported display hardware, Log
  372.      reverts to monochrome display instead of
  373.      core-dumping [Huiling, CSU Fresno]. 
  374.  
  375.      Diode gate model. New document
  376.      explaining the diode gate model in analog.
  377.      [Jamie Honan, Australia] 
  378.  
  379.      Making new Analog gates New
  380.      document on adding new gates to
  381.      Analog. 
  382.  
  383.      MachTen. Analog now runs under
  384.      MachTen, a BSD for MacOS. [James
  385.      Yang, UC Davis] 
  386.  
  387.      MS-DOS Alpha release available for
  388.      the MS-DOS port of Log [Luigi Rizzo
  389.      and collaborators, University of Pisa,
  390.      Italy]. http://www.iet.unipi.it/~luigi/
  391.  
  392.  
  393. [Feb 1995]
  394.  
  395. Postscript updates. All Chipmunk tools now produce encapsulated
  396. postscript that is compatible with the psfig macros distributed with
  397. TeX. John Platt and Dave Gillespie of Synaptics, Michael Godfrey at
  398. ISL, Himanshu R. Pota of ADFA in Australia, and
  399. gary@minster.york.ac.uk contributed to these improvements.
  400.  
  401. Logspc updates. Harold Levy of Caltech contributed a new version of
  402. Logspc, the SPICE netlist tool for Log, that contains new features and
  403. bug fixes.
  404.  
  405. MATLAB support. Michael Godfrey of ISL contributed a filter program
  406. for converting data files produced by Log into files suitable for MATLAB. 
  407. It is part of the Supplementary Toolkit: pick up util1.0.tar.gz to
  408. get the toolkit.
  409.  
  410. Major DigLog bugfix. Micah Beck of the University of Tennessee helped
  411. trace down a major bug in DigLog, that was responsible for schematic
  412. corruption of large files. Many users were bitten by this bug in the
  413. past. Until new users report back, we won't know for sure if this
  414. change completely solves schematic corruption for large designs when
  415. DigLog simulation is occuring: it's hard to test for bugs that only
  416. occur only in large designs.
  417.  
  418.  
  419. NOTES
  420. -----
  421.  
  422. This is a preliminary release of LOG.  It has recently been translated
  423. from a different language and operating system, and a few bugs and
  424. weaknesses arising from the translation process still remain.  See
  425. also the LNOTES file containing a list of current known problems with
  426. the Unix version.
  427.  
  428. Correspondence on LOG should be sent to daveg@synaptics.com and
  429. lazzaro@cs.berkeley.edu.
  430.  
  431.   Thanks for using LOG!
  432.  
  433.                             -- Dave Gillespie
  434.                             -- John Lazzaro
  435.  
  436.  
  437.  
  438.